package com.xcesys.extras.dataobject.system;

// Generated 2010-11-25 11:58:51 by Hibernate Tools 3.2.4.GA

import java.util.HashSet;
import java.util.Set;

import com.xcesys.extras.dataobject.EditableObject;

public class Permission extends EditableObject implements java.io.Serializable {

	private static final long serialVersionUID = -8090159533544724047L;
	private String aclPattern;
	private String actionName;
	private String description;
	protected String displayName;
	private String name;
	private Long requireId;
	private Permission requirePermission;
	private Module module;
	private Long tsModuleId;
	private Set<Role> roles = new HashSet<Role>(0);
	private Subsystem subsystem;
	private Long tsSubsystemId;
	private Set<User> tsUsers = new HashSet<User>(0);

	public Permission() {
	}

	public String getAclPattern() {
		return aclPattern;
	}

	public String getActionName() {
		return actionName;
	}

	public String getDescription() {
		return description;
	}

	public String getDisplayName() {
		return displayName;
	}

	public Module getModule() {
		return module;
	}

	public String getName() {
		return name;
	}

	public Long getRequireId() {
		return requireId;
	}

	public Permission getRequirePermission() {
		return requirePermission;
	}

	public Set<Role> getRoles() {
		return roles;
	}

	public Subsystem getSubsystem() {
		return subsystem;
	}

	public Long getTsModuleId() {
		return tsModuleId;
	}

	public Long getTsSubsystemId() {
		return tsSubsystemId;
	}

	public Set<User> getTsUsers() {
		return tsUsers;
	}

	public void setAclPattern(String aclPattern) {
		Object oldValue = this.aclPattern;
		this.aclPattern = aclPattern;
		firePropertyChange("aclPattern", oldValue, aclPattern);
	}

	public void setActionName(String actionName) {
		Object oldValue = this.actionName;
		this.actionName = actionName;
		firePropertyChange("actionName", oldValue, actionName);
	}

	public void setDescription(String description) {
		Object oldValue = this.description;
		this.description = description;
		firePropertyChange("description", oldValue, description);
	}

	public void setDisplayName(String displayName) {
		Object oldValue = this.displayName;
		this.displayName = displayName;
		firePropertyChange("displayName", oldValue, displayName);
	}

	public void setModule(Module module) {
		Object oldValue = this.module;
		this.module = module;
		firePropertyChange("module", oldValue, module);
	}

	public void setName(String name) {
		Object oldValue = this.name;
		this.name = name;
		firePropertyChange("name", oldValue, name);
	}

	public void setRequireId(Long requireId) {
		Object oldValue = this.requireId;
		this.requireId = requireId;
		firePropertyChange("requireId", oldValue, requireId);
	}

	public void setRequirePermission(Permission requirePermission) {
		Object oldValue = this.requirePermission;
		this.requirePermission = requirePermission;
		firePropertyChange("requirePermission", oldValue, requirePermission);
	}

	public void setRoles(Set<Role> roles) {
		Object oldValue = this.roles;
		this.roles = roles;
		firePropertyChange("roles", oldValue, roles);
	}

	public void setSubsystem(Subsystem subsystem) {
		Object oldValue = this.subsystem;
		this.subsystem = subsystem;
		firePropertyChange("subsystem", oldValue, subsystem);
	}

	public void setTsModuleId(Long tsModuleId) {
		Object oldValue = this.tsModuleId;
		this.tsModuleId = tsModuleId;
		firePropertyChange("tsModuleId", oldValue, tsModuleId);
	}

	public void setTsSubsystemId(Long tsSubsystemId) {
		Object oldValue = this.tsSubsystemId;
		this.tsSubsystemId = tsSubsystemId;
		firePropertyChange("tsSubsystemId", oldValue, tsSubsystemId);
	}

	public void setTsUsers(Set<User> tsUsers) {
		Object oldValue = this.tsUsers;
		this.tsUsers = tsUsers;
		firePropertyChange("tsUsers", oldValue, tsUsers);
	}

}
